Календарь на PHP, MySQL и ajax
Для корпоративных сайтов зачастую нужен календарь. И ладно бы что-бы он просто показывал дни недели, так зачастую вносится понятие События (Event), а ввиду обширного потенциала этого понятия можно говорить об Event Management System. Поскольку деловым людям свойственно планирование, то такая система должна быть удобной, мобильной и расширяемой. За удобство отвачает ajax, за мобильность - само наличие интернета, а за расширяемость - программист и проектировщик.
А ведь событие ещё может иметь и..
-
повторяемость (с определённым периодом , до бесконечности/определённого числа повторений/конкретной даты )
-
местоположение (для точного - google maps, для неточного - просто текст)
-
привязку к временной зоне
-
неопределённое время или длительность (идёт в todo список?)
-
принадлежать группам или типам событий (деловые встречи, личные встречи, культурные мероприятия)
-
доступ к просмотру для других пользователей (sharing, оповещение)
-
систему оповещения по email/sms/desktop widget
Публичные сервисы
На рынке сейчас есть передовые услуги не только с возможностью хранения всей информации, но и с синхронизацией устройств, приглашением других участников и тп.
-
kiko удобен drag-and-drop способностью
-
CalendarHub имеет много настроек
-
planzo, перетаскиваемый
-
spongecell перетаскиваемый
-
hipcal статичный с приоритетами
Opensource-продукты
Когда дело касается своего сайта, то выбор значительно уже:
-
PlansCalendar на php/mysql, без ajax и видов по дням/неделям
-
phpiCalendar внешне обманчив - работает на файловой системе с .ics файлами
-
monket хоть и на ajax, но скуден
-
thyme платен и по сути чуть лучше чем PlansCalendar
-
jquery fullcalendar - оболочка без серверной части
-
jquery wdcalendar
В итоге имеем проблему в том что публичные сервисы внешне функциональны, но не изменяемы и их невозможно связать со своей системой пользователей, системами планирования, базами клиентов и тп. В то же время доступные проекты с открытым исходным кодом откровенно не дотягивают ни по архитектуре ни по способам использования.
На будущее разработчикам - на забудьте что календарь должен быть интегрируем, экспортируем в outlook, ical микроформат , удобен и расширяем.